import MUtil from 'util/mm.jsx';

const __mm = new MUtil();

// 请求的部分
class Product{
  // 请求 商品/搜索 列表
  getProductList(listParam){
    let url  = '',
        data = {};
    if(listParam.listType === 'list'){
      url                        = '/manage/product/list.do';
      data.pageNum               = listParam.pageNum;
    }else if(listParam.listType === 'searchType'){
      url                        = '/manage/product/search.do';
      data.pageNum               = listParam.pageNum;
      data[listParam.searchType] = listParam.keyword;
    }
    return __mm.request({
      type: 'post',
      url: url,
      data: data
    })
  }

  // 获取商品详情
  getProduct(productId){
    return __mm.request({
      type: 'post',
      url: '/manage/product/detail.do',
      data: {
        productId : productId || 0
      }
    })
  }

  // 变更商品销售状态
  setProductStatus(pfoductInfo){
    return __mm.request({
      type: 'post',
      url: '/manage/product/set_sale_status.do',
      data: pfoductInfo
    })
  }

  // 检查保存商品的表单数据 (表单的验证)
  checkProduct(product){
    console.log(product)
    let result = {
      status  : true,
      msg     : '验证通过'
    }
    // 判断 商品名称 是否为空
    if(typeof product.name !== 'string' || product.name.length === 0){
      return {
        status: false,
        msg: '商品名称不能为空！'
      }
    }
    // 判断 描述 是否为空
    if(typeof product.subtitle !== 'string' || product.subtitle.length === 0){
      return {
        status: false,
        msg: '商品描述不能为空！'
      }
    }
    // 品类的ID
    if(typeof product.categoryId !== 'number' || !(product.categoryId > 0)){
      return {
        status: false,
        msg: '请选择商品品类！'
      }
    }
    // 判断 商品价格 为数字且 大于等于 0
    if(typeof product.price !== 'number' || !(product.price >= 0)){
      return {
        status: false,
        msg: '请输入正确的商品价格！'
      }
    }
    // 判断 库存为数字，且大于等于0
    if(typeof product.stock !== 'number' || !(product.stock >= 0)){
      return {
        status: false,
        msg: '请输入正确的库存数量！'
      }
    }

    return result;
  }

  // 
  saveProduct(product){
    return __mm.request({
      type    : 'post',
      url     : '/manage/product/save.do',
      data    : product
    })
  }

  /* 
  * 品类相关（一级品类、二级品类），根据父品类 id 获取品类列表
  */
  getCategoryList(parentCategoryId){
    return __mm.request({
      type    : 'post',
      url     : '/manage/category/get_category.do',
      data    : {
        categoryId : parentCategoryId || 0
      }
    })
  }

  // 新增品类
  saveCategory(category){
    return __mm.request({
      type    : 'post',
      url     : '/manage/category/add_category.do',
      data    :  category
    })
  }

  //修改品类名称
  updateCategoryName(category){
    return __mm.request({
      type    : 'post',
      url     : '/manage/category/set_category_name.do',
      data    :  category
    })
  }
}

export default Product;